#include "learn.h"

_Noreturn void revolving_lantern()
{
    APB2_ENABLE(GPIOA, Out_PP, GPIO_Pin_All, 50MHz);
    GPIO_Write(GPIOA, 0xFFFF);

    for (int i = 0;; i = (i + 1) & 7) {
        GPIO_ResetBits(GPIOA, GPIO_Pin_0 << i);
        Delay_ms(200);
        GPIO_SetBits(GPIOA, GPIO_Pin_0 << i);
    }
}

_Noreturn void beep()
{
    APB2_ENABLE(GPIOB, Out_PP, GPIO_Pin_12, 50MHz);
    while (1) {
        GPIO_ResetBits(GPIOB, GPIO_Pin_12);
        Delay_ms(500);
        GPIO_SetBits(GPIOB, GPIO_Pin_12);
        Delay_ms(500);
    }
}

_Noreturn void class_3_2()
{
    //revolving_lantern();
    beep();
}
